/*
 * Copyright (c) 2014, Luciano Antonio Costa
 * Todos os direitos reservados.
 *
 * A redistribuição e uso na forma de código-fonte e binário, 
 * com ou sem modificações, são permitidas na medida em que as 
 * seguintes condições sejam cumpridas:
 *
 *   1) As redistribuições de código-fonte devem reter os 
 *      direitos de propriedade, a presente licença, esta lista 
 *      de condições e a seguinte resalva.
 *
 *   2) As redistribuições em forma binária devem reproduzir a 
 *      presente licença, esta lista de condições e a seguinte 
 *      resalva na documentação e/ou outros materiais fornecidos 
 *      com a distribuição.
 *
 *   3) Nem o nome de Luciano Antonio Costa, nem os nomes de seus  
 *      contribuidores podem ser usados para endossar ou promover 
 *      produtos derivados deste software, sem a prévia aprovação escrita.
 *
 * ESTE SOFTWARE É FORNECIDO PELOS DETENTORES DOS DIREITOS DE PROPRIEDADE E 
 * CONTRIBUIDORES "COMO ESTÁ" E SEM QUALQUER GARANTIA EXPRESSA OU IMPLÍCITA, 
 * INCLUÍNDO, MAS NÃO LIMITANDO A, GARANTIAS IMPLÍCITAS DE MERCADO E ADEQUAÇÃO 
 * A QUALQUER USO PARTICULAR. DE NENHUMA FORMA OS REGENTES OU CONTRIBUIDORES 
 * DEVEM SER RESPONSABILIZADOS DE QUALQUER DANO DIRETO, INDIRETO, INCIDENTAL, 
 * ESPECIAL, EXEMPLAR OU CONSEQUÊNTE INCLUÍNDO MAS NÃO LIMITANDO À BUSCA E 
 * SUBSTITUIÇÃO DE BENS E SERVIÇOS; PERDAS DE DADOS, USOS OU LUCROS; OU INTERRUPÇÃO 
 * DE NEGÓCIOS) CAUSADOS E SOB QUALQUER TEORIA DE RESPONSABILIZAÇÃO, SEJA EM 
 * CONTRATO, RESPONSABILIZAÇÃO ESTRITA, OU INDIRETA (INCLUÍDA A NEGLIGÊNCIA OU 
 * SIMILAR), SURGIDA DE QUALQUER FORMA DESTE SOFTWARE, MESMO AINDA SE RESSALVADA 
 * A POSSIBILIDADE DO DANO. 
 */

package sc.senai.br.avaliacao;

import java.rmi.RemoteException;

/**
 * O jogador é uma entidade ativa que participa das rodadas de um campeonato.
 * Esta interface descreve os métodos remotos que um jogador disponibiliza.
 * 
 * @author Luciano Antonio Costa <luciano.antonio@sc.senai.br>
 * @version 1.0
 * @since 14/06/2014
 */
public interface Jogador extends java.rmi.Remote {
    
    /**
     * Retorna o nome do jogador.
     * @return nome nome do jogador
     * @throws RemoteException 
     */
    String getNome() throws RemoteException;    
    
    /**
     * Recebe a informação que existe uma nova rodada disponível.
     * @param rodada nova rodada 
     * @throws RemoteException 
     */
    void novaRodada(Rodada rodada) throws RemoteException;    
    
    /**
     * Recebe a informação do vencedor do campeonato.
     * @param campeonato nome do campeonato
     * @param vencedor nome do vencedor
     * @throws RemoteException 
     */
    void finalCampeonato(String campeonato, String vencedor) throws RemoteException;    
    
}
